#include <cuda_fp16.h>

inline __device__ __host__ size_t div_ceil(size_t a, size_t b) {
    return (a % b != 0) ? (a / b + 1) : (a / b);
}


void fgemv(float *A, float *B, float *C, size_t d0, size_t d1, size_t d4, cudaStream_t stream);

/*
import onnx
import onnx.helper as helper

model = onnx.load('gemv.onnx')
for item in model.graph.node:
    if(item.name == 'MatMul_0'):
        item.CopyFrom(helper.make_node(op_type = "Sxai",
                                         inputs= item.input,
                                         outputs = item.output,
                                         name = 'Sxai_0'))
onnx.save(model, 'gemv.onnx')
*/